﻿using Mongoose.Windows.Controls;

namespace Mongoose.Windows
{
    /// <summary>
    /// Common interface for controls hosting pads
    /// </summary>
    public interface IPadContainer
    {
        /// <summary>
        /// Gets or sets the pad container layout.
        /// </summary>
        /// <value>
        /// The layout.
        /// </value>
        IPadContainerLayout Layout { get; set; }

        /// <summary>
        /// Gets a value indicating whether this instance has dynamic layout.
        /// </summary>
        /// <value>
        /// <c>true</c> if this instance has dynamic layout; otherwise, <c>false</c>.
        /// </value>
        bool HasDynamicLayout { get; }

        /// <summary>
        /// Removes the specified pad from the container Pads collection.
        /// </summary>
        /// <param name="pad"></param>
        void RemovePad(Pad pad);

        /// <summary>
        /// Arranges the pads.
        /// </summary>
        void ArrangePads();
    }
}
